home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / updates / update29.zoo / gemlib / diffs
Encoding:
Text File  |  1993-03-28  |  19.0 KB  |  727 lines

  1. ===================================================================
  2. RCS file: /net/acae127/home/bammi/etc/src/master/atari/gemlib/Changelog,v
  3. retrieving revision 1.21
  4. diff -c -r1.21 Changelog
  5. *** 1.21    1993/02/22 06:07:35
  6. --- Changelog    1993/03/29 03:31:10
  7. ***************
  8. *** 344,346 ****
  9. --- 344,366 ----
  10.       adjust for above changes.
  11.   
  12.   ------------------------------- Patchlevel 27 -------------------------------
  13. + gemfast.h:: andreas
  14. +     ICONBLK does not have the field ib_resvd. i dont
  15. +      know introduced that, but it is definitly wrong, and loses
  16. +     on RSC files (sizeof(ICONBLK) == 34).
  17. + vdiesc1.c:: andreas
  18. +     all functions with subcode > 31 must be coded "by hand".
  19. + vdibez.c/vdiesc1.c: andreas
  20. +     opcode of v_bez_qual conflicts with v_write_meta
  21. +     (the other conflicts are reasonable). I dont have the
  22. +     official documentation, so no patch included.
  23. +     well i looked up all the docs i have. this seems to be ok because
  24. +     the two will be distinguished by intin[0]. in the case of v_bez_qual()
  25. +     intin[0] = 32. in the case of v_write_meta(), intin[0] has to be
  26. +     something other than [0-100], so we should be fine. ++jrb
  27. + ------------------------------- Patchlevel 28 -------------------------------
  28. ===================================================================
  29. RCS file: /net/acae127/home/bammi/etc/src/master/atari/gemlib/PatchLev.h,v
  30. retrieving revision 1.19
  31. diff -c -r1.19 PatchLev.h
  32. *** 1.19    1993/02/22 06:07:36
  33. --- PatchLev.h    1993/03/29 03:31:12
  34. ***************
  35. *** 1,4 ****
  36. ! #define PatchLevel "27"
  37.   
  38.   /*
  39.    *    the Patch Level above is to identify the version
  40. --- 1,4 ----
  41. ! #define PatchLevel "28"
  42.   
  43.   /*
  44.    *    the Patch Level above is to identify the version
  45. ===================================================================
  46. RCS file: /net/acae127/home/bammi/etc/src/master/atari/gemlib/aesbind.h,v
  47. retrieving revision 1.12
  48. diff -c -r1.12 aesbind.h
  49. *** 1.12    1993/02/22 06:07:39
  50. --- aesbind.h    1993/03/29 03:31:15
  51. ***************
  52. *** 92,101 ****
  53.   __EXTERN int    menu_tnormal __PROTO((void *Tree, int Item, int NormalFlag));
  54.   __EXTERN int    menu_text __PROTO((void *Tree, int Item, char *Text));
  55.   __EXTERN int    menu_register __PROTO((int ApId, char *MenuText));
  56. ! __EXTERN int    menu_popup __PROTO((MENU *me_menu, int me_xpos, int me_ypos,
  57. !                                     MENU *me_mdata));
  58.   __EXTERN int    menu_attach __PROTO((int me_flag, OBJECT *me_tree, int me_item,
  59. !                                      MENU *me_mdata));
  60.   __EXTERN int    menu_istart __PROTO((int me_flag, OBJECT *me_tree,
  61.                                        int me_imenu, int me_item));
  62.   __EXTERN int    menu_settings __PROTO((int me_flag, MN_SET *me_values));
  63. --- 92,101 ----
  64.   __EXTERN int    menu_tnormal __PROTO((void *Tree, int Item, int NormalFlag));
  65.   __EXTERN int    menu_text __PROTO((void *Tree, int Item, char *Text));
  66.   __EXTERN int    menu_register __PROTO((int ApId, char *MenuText));
  67. ! __EXTERN int    menu_popup __PROTO((MENU_T *me_menu, int me_xpos, int me_ypos,
  68. !                                     MENU_T *me_mdata));
  69.   __EXTERN int    menu_attach __PROTO((int me_flag, OBJECT *me_tree, int me_item,
  70. !                                      MENU_T *me_mdata));
  71.   __EXTERN int    menu_istart __PROTO((int me_flag, OBJECT *me_tree,
  72.                                        int me_imenu, int me_item));
  73.   __EXTERN int    menu_settings __PROTO((int me_flag, MN_SET *me_values));
  74. ===================================================================
  75. RCS file: /net/acae127/home/bammi/etc/src/master/atari/gemlib/aesmenu.c,v
  76. retrieving revision 1.6
  77. diff -c -r1.6 aesmenu.c
  78. *** 1.6    1993/02/22 06:07:41
  79. --- aesmenu.c    1993/03/29 03:31:16
  80. ***************
  81. *** 134,140 ****
  82.    * returns 0 on failure, and data in me_data is invalid
  83.    * returns 1 on success, data in me_data is valid
  84.    */
  85. ! int menu_popup(MENU *me_menu, int me_xpos, int me_ypos, MENU *me_mdata)
  86.   {
  87.       _int_in[0]   =  me_xpos;
  88.       _int_in[1]   =  me_ypos;
  89. --- 134,140 ----
  90.    * returns 0 on failure, and data in me_data is invalid
  91.    * returns 1 on success, data in me_data is valid
  92.    */
  93. ! int menu_popup(MENU_T *me_menu, int me_xpos, int me_ypos, MENU_T *me_mdata)
  94.   {
  95.       _int_in[0]   =  me_xpos;
  96.       _int_in[1]   =  me_ypos;
  97. ***************
  98. *** 154,160 ****
  99.    * returns:0 failure: the submenu was not attached for whatever reasons
  100.    *         1 success: the submenu was attached, changed or removed successfully
  101.    */
  102. ! int menu_attach(int me_flag, OBJECT *me_tree, int me_item, MENU *me_mdata)
  103.   {
  104.       _int_in[0] = me_flag;
  105.       _int_in[1] = me_item;
  106. --- 154,160 ----
  107.    * returns:0 failure: the submenu was not attached for whatever reasons
  108.    *         1 success: the submenu was attached, changed or removed successfully
  109.    */
  110. ! int menu_attach(int me_flag, OBJECT *me_tree, int me_item, MENU_T *me_mdata)
  111.   {
  112.       _int_in[0] = me_flag;
  113.       _int_in[1] = me_item;
  114. ===================================================================
  115. RCS file: /net/acae127/home/bammi/etc/src/master/atari/gemlib/gemfast.h,v
  116. retrieving revision 1.13
  117. diff -c -r1.13 gemfast.h
  118. *** 1.13    1993/02/22 06:07:43
  119. --- gemfast.h    1993/03/29 03:31:18
  120. ***************
  121. *** 249,254 ****
  122. --- 249,255 ----
  123.   #define DISABLED    0x0008
  124.   #define OUTLINED    0x0010
  125.   #define SHADOWED    0x0020
  126. + #define WHITEBAK    0x0080
  127.           /* Object colors - default pall. */
  128.   #define WHITE    0
  129.   #define BLACK    1
  130. ***************
  131. *** 416,422 ****
  132.       short    ib_ytext;
  133.       short    ib_wtext;
  134.       short    ib_htext;
  135. -         short   ib_resvd;
  136.       } ICONBLK;
  137.   
  138.   typedef struct bit_block
  139. --- 417,422 ----
  140. ***************
  141. *** 560,566 ****
  142.                                  items must consist entirely of G_STRINGS. */
  143.       short   mn_keystate; /* The CTRL, ALT, SHIFT Key state at the time the
  144.                   mouse button was pressed. */
  145. ! } MENU;
  146.   
  147.   /* menu_settings uses a new structure for setting and inquiring the submenu
  148.    * delay values and the menu scroll height.  The delay values are measured in
  149. --- 560,566 ----
  150.                                  items must consist entirely of G_STRINGS. */
  151.       short   mn_keystate; /* The CTRL, ALT, SHIFT Key state at the time the
  152.                   mouse button was pressed. */
  153. ! } MENU_T;
  154.   
  155.   /* menu_settings uses a new structure for setting and inquiring the submenu
  156.    * delay values and the menu scroll height.  The delay values are measured in
  157. ===================================================================
  158. RCS file: /net/acae127/home/bammi/etc/src/master/atari/gemlib/vdiesc1.c,v
  159. retrieving revision 1.2
  160. diff -c -r1.2 vdiesc1.c
  161. *** 1.2    1991/09/06 02:10:31
  162. --- vdiesc1.c    1993/03/29 03:31:19
  163. ***************
  164. *** 294,299 ****
  165. --- 294,301 ----
  166.   }
  167.   #endif /* L_v_alpha_ */
  168.   
  169. + /* WARNING: All bindings below this point require hand coding,
  170. +    because the subcode is > 31 */
  171.   
  172.   /*        vs_palette                        */
  173.   /*        IBM CGA escape                        */
  174. ***************
  175. *** 304,312 ****
  176.   
  177.   int vs_palette( int handle, int palette)
  178.   {
  179.       _intin[0] = palette;
  180.   
  181. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 1, 60), handle);
  182.   
  183.       return _intout[0];
  184.   }
  185. --- 306,323 ----
  186.   
  187.   int vs_palette( int handle, int palette)
  188.   {
  189. +     short *wptr;
  190.       _intin[0] = palette;
  191.   
  192. !      wptr = (short *)_contrl;
  193. !     *wptr++ = 5;        /* 0  - opcode */
  194. !     *wptr++ = 0;        /* 1 */
  195. !      wptr++;        /* 2 */
  196. !     *wptr++ = 1;        /* 3  - # of entries in _intin */
  197. !      wptr++;        /* 4 */
  198. !     *wptr++ = 60;        /* 5 - id */
  199. !     *wptr   = handle;    /* 6 - handle */
  200. !     vdi();
  201.   
  202.       return _intout[0];
  203.   }
  204. ***************
  205. *** 325,333 ****
  206.   /*    frequency: Frequency of the tone in Hertz            */
  207.   /*    duration: length of tone in timer ticks                */
  208.   {
  209.       _intin[0] = frequency;
  210.       _intin[1] = duration;
  211. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 2, 61), handle);
  212.   }
  213.   #endif /* L_v_sound */
  214.   
  215. --- 336,354 ----
  216.   /*    frequency: Frequency of the tone in Hertz            */
  217.   /*    duration: length of tone in timer ticks                */
  218.   {
  219. +     short *wptr;
  220.       _intin[0] = frequency;
  221.       _intin[1] = duration;
  222. !      wptr = (short *)_contrl;
  223. !     *wptr++ = 5;        /* 0  - opcode */
  224. !     *wptr++ = 0;        /* 1 */
  225. !      wptr++;        /* 2 */
  226. !     *wptr++ = 2;        /* 3  - # of entries in _intin */
  227. !      wptr++;        /* 4 */
  228. !     *wptr++ = 61;        /* 5 - id */
  229. !     *wptr   = handle;    /* 6 - handle */
  230. !     vdi();
  231.   }
  232.   #endif /* L_v_sound */
  233.   
  234. ***************
  235. *** 346,352 ****
  236.   /* return value: 0 : sound on                        */
  237.   /*         1 : sound off                        */
  238.   {
  239. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 1, 62), handle);
  240.       return _intout[0];
  241.   }
  242.   #endif /* L_vs_mute */
  243. --- 367,384 ----
  244.   /* return value: 0 : sound on                        */
  245.   /*         1 : sound off                        */
  246.   {
  247. !     short *wptr;
  248. !     _intin[0] = action;
  249. !      wptr = (short *)_contrl;
  250. !     *wptr++ = 5;        /* 0  - opcode */
  251. !     *wptr++ = 0;        /* 1 */
  252. !      wptr++;        /* 2 */
  253. !     *wptr++ = 1;        /* 3  - # of entries in _intin */
  254. !      wptr++;        /* 4 */
  255. !     *wptr++ = 62;        /* 5 - id */
  256. !     *wptr   = handle;    /* 6 - handle */
  257. !     vdi();
  258.       return _intout[0];
  259.   }
  260.   #endif /* L_vs_mute */
  261. ***************
  262. *** 364,373 ****
  263.   /*    xres, yres: resolution in lines per inch            */
  264.   /*    *xset, *yset: the resolution set                */
  265.   {
  266.       _intin[0] = xres;
  267.       _intin[1] = yres;
  268.   
  269. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 2, 81), handle);
  270.   
  271.       *xset = _intout[0];
  272.       *yset = _intout[1];
  273. --- 396,414 ----
  274.   /*    xres, yres: resolution in lines per inch            */
  275.   /*    *xset, *yset: the resolution set                */
  276.   {
  277. +     short *wptr;
  278.       _intin[0] = xres;
  279.       _intin[1] = yres;
  280.   
  281. !      wptr = (short *)_contrl;
  282. !     *wptr++ = 5;        /* 0  - opcode */
  283. !     *wptr++ = 0;        /* 1 */
  284. !      wptr++;        /* 2 */
  285. !     *wptr++ = 2;        /* 3  - # of entries in _intin */
  286. !      wptr++;        /* 4 */
  287. !     *wptr++ = 81;        /* 5 - id */
  288. !     *wptr   = handle;    /* 6 - handle */
  289. !     vdi();
  290.   
  291.       *xset = _intout[0];
  292.       *yset = _intout[1];
  293. ***************
  294. *** 387,396 ****
  295.   /*    xres, yres: resolution in lines                 */
  296.   /*    *xset, *yset: the resolution set                */
  297.   {
  298.       _intin[0] = xres;
  299.       _intin[1] = yres;
  300.   
  301. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 2, 82), handle);
  302.   
  303.       *xset = _intout[0];
  304.       *yset = _intout[1];
  305. --- 428,446 ----
  306.   /*    xres, yres: resolution in lines                 */
  307.   /*    *xset, *yset: the resolution set                */
  308.   {
  309. +     short *wptr;
  310.       _intin[0] = xres;
  311.       _intin[1] = yres;
  312.   
  313. !      wptr = (short *)_contrl;
  314. !     *wptr++ = 5;        /* 0  - opcode */
  315. !     *wptr++ = 0;        /* 1 */
  316. !      wptr++;        /* 2 */
  317. !     *wptr++ = 2;        /* 3  - # of entries in _intin */
  318. !      wptr++;        /* 4 */
  319. !     *wptr++ = 82;        /* 5 - id */
  320. !     *wptr   = handle;    /* 6 - handle */
  321. !     vdi();
  322.   
  323.       *xset = _intout[0];
  324.       *yset = _intout[1];
  325. ***************
  326. *** 410,419 ****
  327.   /*    xorigin: x - coordinate for the left upper corner        */
  328.   /*    yorigin: y - coordinate for the left upper corner        */
  329.   {
  330.       _intin[0] = xorigin;
  331.       _intin[1] = yorigin;
  332.   
  333. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 2, 83), handle);
  334.   }
  335.   #endif /* L_vt_origi */
  336.   
  337. --- 460,478 ----
  338.   /*    xorigin: x - coordinate for the left upper corner        */
  339.   /*    yorigin: y - coordinate for the left upper corner        */
  340.   {
  341. +     short *wptr;
  342.       _intin[0] = xorigin;
  343.       _intin[1] = yorigin;
  344.   
  345. !      wptr = (short *)_contrl;
  346. !     *wptr++ = 5;        /* 0  - opcode */
  347. !     *wptr++ = 0;        /* 1 */
  348. !      wptr++;        /* 2 */
  349. !     *wptr++ = 2;        /* 3  - # of entries in _intin */
  350. !      wptr++;        /* 4 */
  351. !     *wptr++ = 83;        /* 5 - id */
  352. !     *wptr   = handle;    /* 6 - handle */
  353. !     vdi();
  354.   }
  355.   #endif /* L_vt_origi */
  356.   
  357. ***************
  358. *** 428,434 ****
  359.   void vq_dimensions(int handle, int *xdimension, int *ydimension)
  360.   /* Parameters: you can guess, can't you?                */
  361.   {
  362. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 0, 84), handle);
  363.   
  364.       *xdimension = _intout[0];
  365.       *ydimension = _intout[1];
  366. --- 487,501 ----
  367.   void vq_dimensions(int handle, int *xdimension, int *ydimension)
  368.   /* Parameters: you can guess, can't you?                */
  369.   {
  370. !     short *wptr = (short *)_contrl;
  371. !     *wptr++ = 5;        /* 0  - opcode */
  372. !     *wptr++ = 0;        /* 1 */
  373. !      wptr++;        /* 2 */
  374. !     *wptr++ = 0;        /* 3  - # of entries in _intin */
  375. !      wptr++;        /* 4 */
  376. !     *wptr++ = 84;        /* 5 - id */
  377. !     *wptr   = handle;    /* 6 - handle */
  378. !     vdi();
  379.   
  380.       *xdimension = _intout[0];
  381.       *ydimension = _intout[1];
  382. ***************
  383. *** 446,455 ****
  384.   /* Parameters: dx, dy : offsets for X- and Y - coordinate from origin    */
  385.   
  386.   {
  387.       _intin[0] = dx;
  388.       _intin[1] = dy;
  389.   
  390. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 2, 85), handle);
  391.   }
  392.   #endif /* L_vt_align */
  393.   
  394. --- 513,531 ----
  395.   /* Parameters: dx, dy : offsets for X- and Y - coordinate from origin    */
  396.   
  397.   {
  398. +     short *wptr;
  399.       _intin[0] = dx;
  400.       _intin[1] = dy;
  401.   
  402. !      wptr = (short *)_contrl;
  403. !     *wptr++ = 5;        /* 0  - opcode */
  404. !     *wptr++ = 0;        /* 1 */
  405. !      wptr++;        /* 2 */
  406. !     *wptr++ = 2;        /* 3  - # of entries in _intin */
  407. !      wptr++;        /* 4 */
  408. !     *wptr++ = 85;        /* 5 - id */
  409. !     *wptr   = handle;    /* 6 - handle */
  410. !     vdi();
  411.   }
  412.   #endif /* L_vt_align */
  413.   
  414. ***************
  415. *** 466,475 ****
  416.   /*    index: number of film type                    */
  417.   /*    lightness: exposure time from -3 (half) to 0 (normal) to +3 (double) */
  418.   {
  419.       _intin[0] = index;
  420.       _intin[1] = lightness;
  421.   
  422. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 2, 91), handle);
  423.   }
  424.   #endif /* L_vsp_film */
  425.   
  426. --- 542,560 ----
  427.   /*    index: number of film type                    */
  428.   /*    lightness: exposure time from -3 (half) to 0 (normal) to +3 (double) */
  429.   {
  430. +     short *wptr;
  431.       _intin[0] = index;
  432.       _intin[1] = lightness;
  433.   
  434. !      wptr = (short *)_contrl;
  435. !     *wptr++ = 5;        /* 0  - opcode */
  436. !     *wptr++ = 0;        /* 1 */
  437. !      wptr++;        /* 2 */
  438. !     *wptr++ = 2;        /* 3  - # of entries in _intin */
  439. !      wptr++;        /* 4 */
  440. !     *wptr++ = 91;        /* 5 - id */
  441. !     *wptr   = handle;    /* 6 - handle */
  442. !     vdi();
  443.   }
  444.   #endif /* L_vsp_film */
  445.   
  446. ***************
  447. *** 490,499 ****
  448.   {
  449.       short tmp, res;
  450.       short *ptmp;
  451.   
  452.       _intin[0] = index;
  453.   
  454. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 1, 92), handle);
  455.   
  456.       ptmp = _intout;
  457.       res = _contrl[4];
  458. --- 575,593 ----
  459.   {
  460.       short tmp, res;
  461.       short *ptmp;
  462. +     short *wptr;
  463.   
  464.       _intin[0] = index;
  465.   
  466. !      wptr = (short *)_contrl;
  467. !     *wptr++ = 5;        /* 0  - opcode */
  468. !     *wptr++ = 0;        /* 1 */
  469. !      wptr++;        /* 2 */
  470. !     *wptr++ = 1;        /* 3  - # of entries in _intin */
  471. !      wptr++;        /* 4 */
  472. !     *wptr++ = 92;        /* 5 - id */
  473. !     *wptr   = handle;    /* 6 - handle */
  474. !     vdi();
  475.   
  476.       ptmp = _intout;
  477.       res = _contrl[4];
  478. ***************
  479. *** 517,525 ****
  480.   /*    state:     = 0: switch off exposure                */
  481.   /*        != 0: switch on exposure                */
  482.   {
  483.       _intin[0] = state;
  484.   
  485. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 1, 93), handle);
  486.   }
  487.   #endif /* L_vsc_expo */
  488.   
  489. --- 611,628 ----
  490.   /*    state:     = 0: switch off exposure                */
  491.   /*        != 0: switch on exposure                */
  492.   {
  493. +     short *wptr;
  494.       _intin[0] = state;
  495.   
  496. !      wptr = (short *)_contrl;
  497. !     *wptr++ = 5;        /* 0  - opcode */
  498. !     *wptr++ = 0;        /* 1 */
  499. !      wptr++;        /* 2 */
  500. !     *wptr++ = 1;        /* 3  - # of entries in _intin */
  501. !      wptr++;        /* 4 */
  502. !     *wptr++ = 93;        /* 5 - id */
  503. !     *wptr   = handle;    /* 6 - handle */
  504. !     vdi();
  505.   }
  506.   #endif /* L_vsc_expo */
  507.   
  508. ***************
  509. *** 538,550 ****
  510.   /*    max_x : maximum y - value of surrounding rectangle        */
  511.   /*    max_y : dto, with y                        */
  512.   {
  513.       _ptsin[0] = min_x;
  514.       _ptsin[1] = min_y;
  515.       _ptsin[2] = max_x;
  516.       _ptsin[3] = max_y;
  517.   
  518. !     __vdi__(VDI_CONTRL_ENCODE(5, 2, 0, 98), handle);
  519.   }
  520.   #endif /* L_v_meta_e */
  521.   
  522. --- 641,661 ----
  523.   /*    max_x : maximum y - value of surrounding rectangle        */
  524.   /*    max_y : dto, with y                        */
  525.   {
  526. +     short *wptr;
  527.       _ptsin[0] = min_x;
  528.       _ptsin[1] = min_y;
  529.       _ptsin[2] = max_x;
  530.       _ptsin[3] = max_y;
  531.   
  532. !      wptr = (short *)_contrl;
  533. !     *wptr++ = 5;        /* 0  - opcode */
  534. !     *wptr++ = 2;        /* 1 - # of points */
  535. !      wptr++;        /* 2 */
  536. !     *wptr++ = 0;        /* 3 - # of entries in _intin */
  537. !      wptr++;        /* 4 */
  538. !     *wptr++ = 98;        /* 5 - id */
  539. !     *wptr   = handle;    /* 6 - handle */
  540. !     vdi();
  541.   }
  542.   #endif /* L_v_meta_e */
  543.   
  544. ***************
  545. *** 574,579 ****
  546. --- 685,691 ----
  547.   /*    START DRAW AREA PRIMITIVE (80)                    */
  548.   /*    END DRAW AREA PRIMITIVE (81)                    */
  549.   {
  550. +     short *wptr;
  551.   #ifdef __MSHORT__    /* we have 16 bit ints, just change vdi params */
  552.       _vdiparams[1] = (void *) &a_intin[0];
  553.       _vdiparams[2] = (void *) &a_ptsin[0];
  554. ***************
  555. *** 587,593 ****
  556.           _ptsin[i] = a_ptsin[i];
  557.   #endif
  558.   
  559. !     __vdi__(VDI_CONTRL_ENCODE(5, num_ptsin, num_intin, 99), handle);
  560.   
  561.   #ifdef __MSHORT__
  562.       _vdiparams[1] = (void *)&_intin[0]; /* restore vdi parameters */ 
  563. --- 699,713 ----
  564.           _ptsin[i] = a_ptsin[i];
  565.   #endif
  566.   
  567. !      wptr = (short *)_contrl;
  568. !     *wptr++ = 5;        /* 0  - opcode */
  569. !     *wptr++ = num_ptsin;    /* 1 - # of points */
  570. !      wptr++;        /* 2 */
  571. !     *wptr++ = num_intin;    /* 3 - # of entries in _intin */
  572. !      wptr++;        /* 4 */
  573. !     *wptr++ = 99;        /* 5 - id */
  574. !     *wptr   = handle;    /* 6 - handle */
  575. !     vdi();
  576.   
  577.   #ifdef __MSHORT__
  578.       _vdiparams[1] = (void *)&_intin[0]; /* restore vdi parameters */ 
  579. ***************
  580. *** 609,619 ****
  581.   /*    pgwidth: width in 1/10 mm                    */
  582.   /*    pgheight: height in 1/10 mm                    */
  583.   {
  584.       _intin[0] = 0;
  585.       _intin[1] = pgwidth;
  586.       _intin[2] = pgheight;
  587.   
  588. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 3, 99), handle);
  589.   }
  590.   #endif /* L_vm_pages */
  591.   
  592. --- 729,748 ----
  593.   /*    pgwidth: width in 1/10 mm                    */
  594.   /*    pgheight: height in 1/10 mm                    */
  595.   {
  596. +     short *wptr;
  597.       _intin[0] = 0;
  598.       _intin[1] = pgwidth;
  599.       _intin[2] = pgheight;
  600.   
  601. !      wptr = (short *)_contrl;
  602. !     *wptr++ = 5;        /* 0  - opcode */
  603. !     *wptr++ = 0;        /* 1 */
  604. !      wptr++;        /* 2 */
  605. !     *wptr++ = 3;        /* 3  - # of entries in _intin */
  606. !      wptr++;        /* 4 */
  607. !     *wptr++ = 99;        /* 5 - id */
  608. !     *wptr   = handle;    /* 6 - handle */
  609. !     vdi();
  610.   }
  611.   #endif /* L_vm_pages */
  612.   
  613. ***************
  614. *** 632,645 ****
  615.   /*    urx: x - coordinate in the right upper corner            */
  616.   /*    ury: y - coordinate in the right upper corner            */
  617.   {
  618.       _intin[0] = 1;
  619.       _intin[1] = llx;
  620.       _intin[2] = lly;
  621.       _intin[3] = urx;
  622.       _intin[4] = ury;
  623.   
  624. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 5, 99), handle);
  625.   }
  626.   #endif /* L_vm_coord */
  627.   
  628. --- 761,782 ----
  629.   /*    urx: x - coordinate in the right upper corner            */
  630.   /*    ury: y - coordinate in the right upper corner            */
  631.   {
  632. +     short *wptr;
  633.       _intin[0] = 1;
  634.       _intin[1] = llx;
  635.       _intin[2] = lly;
  636.       _intin[3] = urx;
  637.       _intin[4] = ury;
  638.   
  639. !      wptr = (short *)_contrl;
  640. !     *wptr++ = 5;        /* 0  - opcode */
  641. !     *wptr++ = 0;        /* 1 */
  642. !      wptr++;        /* 2 */
  643. !     *wptr++ = 5;        /* 3  - # of entries in _intin */
  644. !      wptr++;        /* 4 */
  645. !     *wptr++ = 99;        /* 5 - id */
  646. !     *wptr   = handle;    /* 6 - handle */
  647. !     vdi();
  648.   }
  649.   #endif /* L_vm_coord */
  650.   
  651. ***************
  652. *** 656,668 ****
  653.   {
  654.       short n;
  655.       register short *ptmp = _intin;
  656.   
  657.   /* copy string */
  658.       while (*ptmp++ = (unsigned char) *filename++)
  659.            ;
  660.       n = (ptmp - _intin) -1;
  661.   
  662. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, n, 100), handle);
  663.   
  664.   }
  665.   #endif /* L_vm_filen */
  666. --- 793,814 ----
  667.   {
  668.       short n;
  669.       register short *ptmp = _intin;
  670. +     short *wptr;
  671.   
  672.   /* copy string */
  673.       while (*ptmp++ = (unsigned char) *filename++)
  674.            ;
  675.       n = (ptmp - _intin) -1;
  676.   
  677. !      wptr = (short *)_contrl;
  678. !     *wptr++ = 5;        /* 0  - opcode */
  679. !     *wptr++ = 0;        /* 1 */
  680. !      wptr++;        /* 2 */
  681. !     *wptr++ = n;        /* 3  - # of entries in _intin */
  682. !      wptr++;        /* 4 */
  683. !     *wptr++ = 100;        /* 5 - id */
  684. !     *wptr   = handle;    /* 6 - handle */
  685. !     vdi();
  686.   
  687.   }
  688.   #endif /* L_vm_filen */
  689. ***************
  690. *** 679,687 ****
  691.   /* Parameters:                                */
  692.   /*    times: number of times to print the current page        */
  693.   {
  694.             _intin[0] = times;
  695.   
  696. !     __vdi__(VDI_CONTRL_ENCODE(5, 0, 1, 2000), handle);
  697.   }
  698.   #endif /* L_v_escape */
  699. --- 825,841 ----
  700.   /* Parameters:                                */
  701.   /*    times: number of times to print the current page        */
  702.   {
  703. +     short *wptr;
  704.             _intin[0] = times;
  705.   
  706. !      wptr = (short *)_contrl;
  707. !     *wptr++ = 5;        /* 0  - opcode */
  708. !     *wptr++ = 0;        /* 1 */
  709. !      wptr++;        /* 2 */
  710. !     *wptr++ = 1;        /* 3  - # of entries in _intin */
  711. !      wptr++;        /* 4 */
  712. !     *wptr++ = 2000;        /* 5 - id */
  713. !     *wptr   = handle;    /* 6 - handle */
  714. !     vdi();
  715.   }
  716.   #endif /* L_v_escape */
  717.